# Примеры Межзаписных Функций Диаграмм

## Примеры функции Top

Данные примеры относятся к функции top, но похожим образом могут применяться и к функциям bottom, first и last. Обратите внимание, что функции first и last употребляются только в сводных таблицах.

Пример 1:

Изучите прямую таблицу, расположенную ниже, на которой показано использование функции top в таблице с одним измерением:

![Example table image of one dimensional straight table with top function](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord4.png)

Пример таблицы: прямая таблица с одним измерением и функцией toptop

| Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- |
| - | 21 | 3 | 700% |
| 1 | 3 | 3 | 100% |
| 2 | 7 | 3 | 233% |
| 3 | 11 | 3 | 367% |

При наличии одного измерения функция top всегда ссылается к первой строке данных таблицы (Без учета строки Итого).

Обратите внимание на то, что использование функции top также обязательно оценивается в строке Итого, т.к. Итого явно относится к определенному сегменту столбца, а в этом случае – ко всему столбцу.

Пример 2:

Ниже приводится прямая таблица с двумя измерениями, первично отсортированная в поле Grp.

![Example table image of two dimensional straight table with total qualifier](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord6.png)

Пример таблицы: прямая таблица с двумя измерениями и классификатором total total

| Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | 1 |
| 1 | A | 1 | 1 | 1 |
| 2 | A | 3 | 1 | 1 |
| 3 | A | 5 | 1 | 1 |
| 1 | B | 2 | 2 | 1 |
| 2 | B | 4 | 2 | 1 |
| 3 | B | 6 | 2 | 1 |

Функция top без классификатора total теперь возвращает выражение, оцененное в верхней строке во внутренней группе сортировки (В этом случае – в измерении Grp). Одно значение возвращается для Grp = A и одно для Grp = B.

Используя классификатор total и при наличии нескольких измерений, можно опять сослаться на самую верхнюю строку таблицы с тем же значением, которое возвращается для всех строк. Выражение будет оцениваться для сегмента столбца с интервалом во весь столбец.

Выражение с использованием функции top без классификатора total будет оцениваться как NULL в строке Итого, т.к. оно не может явно ассоциироваться с определенным сегментом столбца.

Сейчас мы конвертируем прямую таблицу, описанную выше, в сводную таблицу при включении всех Итогов.

![Example table image of two dimensional pivot table with total qualifier](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord7.png)

Пример таблицы: сводная таблица с двумя измерениями и классификатором total total

| Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
| --- | --- | --- | --- | --- |
| 1 | A | 1 | 1 | 1 |
| 1 | B | 2 | 1 | 1 |
| 1 | Всего | 3 | 1 | - |
| 2 | A | 3 | 3 | 1 |
| 2 | B | 4 | 3 | 1 |
| 2 | Всего | 7 | 3 | - |
| 3 | A | 5 | 5 | 1 |
| 3 | B | 6 | 5 | 1 |
| 3 | Всего | 11 | 5 | - |
| Всего | - | 21 | - | 1 |

Выражение с использованием функции top без классификатора total будет оцениваться как NULL в строке Итого, т.к. оно не может явно ассоциироваться с определенным сегментом столбца. Несмотря на это, все частичные суммы будут оцениваться для каждого сегмента столбца.

В выражении с классификатором total нет значений в частичных итогах, но это выражение возвращает значение в строке Общий итог.

Пример 3:

Изучите следующую прямую таблицу, отсортированную в поле Grp:

![Example table image of Two dimensional straight table sorted by Grp](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord8.png)

Пример таблицы: прямая таблица с двумя измерениями, отсортированная по GrpGrp

| Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | - |
| 1 | A | 1 | 1 | 100% |
| 2 | A | 3 | 1 | 300% |
| 3 | A | 5 | 1 | 500% |
| 1 | B | 2 | 2 | 100% |
| 2 | B | 4 | 2 | 200% |
| 3 | B | 6 | 2 | 300% |

Мы можем изменить межполевой порядок сортировки так, чтобы диаграмма была первично отсортирована в поле Месяц. Таблица будет иметь следующий вид:

![Example table image of Two dimensional straight table sorted by Month](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord9.png)

Пример таблицы: прямая таблица с двумя измерениями, отсортированная по MonthMonth

| Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | - |
| 1 | A | 1 | 1 | 100% |
| 1 | B | 2 | 1 | 200% |
| 2 | A | 3 | 3 | 100% |
| 2 | B | 4 | 3 | 133% |
| 3 | A | 5 | 5 | 100% |
| 3 | B | 6 | 5 | 120% |

## Примеры функции Above

Данные примеры относятся к функции above, но похожим образом могут применяться и к функциям below, before и after. Обратите внимание, что функции before и after употребляются только в сводных таблицах.

Пример 4:

Изучите прямую таблицу, расположенную ниже, на которой показано использование функции above в таблице с одним измерением:

![Example table image of one dimensional straight table with Above function](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord11.png)

Пример таблицы: Прямая таблица с одним измерением и функцией Above Above

| Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
| --- | --- | --- | --- |
| - | 21 | - | - |
| 1 | 3 | - | - |
| 2 | 7 | 3 | 233% |
| 3 | 11 | 7 | 157% |

В третьем столбце показано выражение sum(Val) с оценкой на одну строку выше текущей, что можно подтвердить сравнением со значениями для sum(val) во втором столбце. Функция above возвращает NULL на первую строку, т.к. выше нет строки, в которой можно оценить выражение. Функция above всегда возвращает NULL на все строки Итого.

В четвертом столбце показано наиболее типичное использование этой функции – вычисление разницы, например, между различными периодами времени.

Пример 5:

Изучите сводную таблицу с двумя измерениями, расположенную ниже:

![Example table image of two dimension pivot table and the effect of total qualifier](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord12.png)

Пример таблицы: сводная таблица с двумя измерениями и классификатором total total

| Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
| --- | --- | --- | --- | --- |
| A | 1 | 1 | - | - |
| A | 2 | 3 | 1 | 1 |
| A | 3 | 5 | 3 | 3 |
| A | Всего | 9 | - | - |
| B | 1 | 2 | - | 5 |
| B | 2 | 4 | 2 | 2 |
| B | 3 | 6 | 4 | 4 |
| B | Всего | 12 | - | - |
| Всего | - | 21 | - | - |

Функция above без классификатора total (третий столбец) действует только в каждой группе сортировки. Значение NULL возвращается на верхнюю строку каждого сегмента столбца.

При добавлении классификатора total (четвертый столбец) весь столбец рассматривается в качестве одного сегмента столбца. Только верхняя строка возвращает NULL. Все строки Итого игнорируются и возвращают NULL.

## Примеры функций RowNo и NoOfRows

В данном случае рассматриваются примеры употребления функций RowNo и NoOfRows, но похожим образом употребляются и функции ColumnNo и NoOfColumns. Обратите внимание, что функции ColumnNo и NoOfColumns употребляются только в сводных таблицах.

Пример 6:

Изучите сводную таблицу с двумя измерениями, расположенную ниже:

![Example table image of RowNo and NoOfRows functions](https://help.qlik.com/ru-RU/qlikview/May2024/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord5_564x227.png)

Пример таблицы: функции RowNo RowNo и NoOfRows NoOfRows

| Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
| --- | --- | --- | --- | --- | --- |
| 1 | A | 1 | 1 | 2 | 6 |
| 1 | B | 2 | 2 | 2 | 6 |
| 1 | Всего | 0 | - | 2 | - |
| 2 | A | 1 | 3 | 2 | 6 |
| 2 | B | 2 | 4 | 2 | 6 |
| 2 | Всего | 0 | - | 2 | - |
| 3 | A | 1 | 5 | 2 | 6 |
| 3 | B | 2 | 6 | 2 | 6 |
| 3 | Всего | 0 | - | 2 | - |
| Всего | - | - | 0 | - | 6 |

* Столбец 3 Функция RowNo возвращает номер строки в каждом сегменте столбца в группе сортировки. В строках подитогов возвращается число строк 0, т.к. эти итоги явно относятся к определенному сегменту столбца. В строке Общий итог возвращается NULL.
* Столбец 4 С классификатором total функция RowNo возвращает число строк в целом столбце. В строках подитогов возвращается значение NULL. В строке Общий итог возвращается 0.
* Столбец 5 Функция NoOfRows возвращает номер строк данных в каждом сегменте столбца в группе сортировки. В строках подитогов возвращается то же число, что и в строках данных. В строке Общий итог возвращается NULL.
* Столбец 6 С классификатором total функция NoOfRows возвращает число строк данных в целом столбце, которое является таким же, что возвращается в строке Общий итог. В строках подитогов возвращается NULL.